Connection as first-class objects